home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 21 / CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso / CUCD / Programming / Python-1.4 / Source / 882 / SMAKEFILE < prev   
Text File  |  1998-01-31  |  8KB  |  292 lines

  1.  
  2. #
  3. #    SMakefile for Python 1.4, to compile with SAS/C.
  4. #
  5. #    Made by Irmen de Jong, 10 nov. 1995.
  6. #        updated: 25 march 1996 for use with AmiTCP
  7. #        updated: 7 may 1996, now uses 4 intermediate link libs 
  8. #        updated: 27 aug 1996, AMITCP and AMITCP_NET defines
  9. #        updated: 8 dec 1996, for Python 1.4
  10. #    
  11. #    This makefile replaces all other makefiles.
  12. #
  13. #    THIS IS THE 68030/882 BUILD MAKEFILE!!!
  14. #
  15. #    Note:
  16. #        check out the compilation of
  17. #        $Y/ceval.c (Uses very much memory with global optimizer)
  18. #               (Takes a very long time to compile; huge switch)
  19. #        and
  20. #        $O/longobject.c (This one won't compile using the GST?!)
  21. #
  22.  
  23.  
  24. .c.o:
  25.     $(CC) $< $(COPTS) OBJNAME $@
  26.  
  27. # The subdirs in which the object files will be:
  28. P=Parser
  29. O=Objects
  30. M=Modules
  31. Y=Python
  32.  
  33. # The drawers where the sources are:
  34. PS=/Parser
  35. OS=/Objects
  36. MS=/Modules
  37. YS=/Python
  38.  
  39. # ye old progname:
  40. PROGRAM = Python_030_882
  41.  
  42. all: message $(PROGRAM)
  43.  
  44. #
  45. # version information: (CHANGE TO REFLECT COMPILER OPTIONS!)
  46. #
  47. # NOTE: When changing this, you must recompile Python/getversion.c and
  48. #       Python/getcompiler.c! (or they will contain wrong strings)
  49. #
  50. VERSIONINFO="68030/882/AmiTCP"
  51.  
  52. #
  53. # define to use mempools library
  54. # (use mempools39 to link with V39+ only pools lib => shorter & faster)
  55. #
  56. MEMPOOLSLIB=LIB:mempools.lib
  57. #MEMPOOLSLIB=LIB:mempools39.lib
  58. STARTUP=LIB:c_mempools.o
  59.  
  60. #
  61. # define if NOT using mempools library
  62. #
  63. #MEMPOOLSLIB=
  64. #STARTUP=LIB:c.o
  65. #
  66.  
  67. #
  68. # define if using AMITCP
  69. #
  70. AMITCPDEF=DEFINE=AMITCP INCLUDEDIR=netinclude:
  71. AMITCPOBJECTS=$M/pwdmodule.o $M/grpmodule.o $M/cryptmodule.o $M/syslogmodule.o $M/socketmodule.o $M/selectmodule.o
  72. AMITCPLIB=Amiga/python_net.lib
  73. #
  74. # define if developing new module -> faster turnarounds
  75. # (add it to the module list if it's finished)
  76. #
  77. NEWMODULES = $M/arexxmodule.o $M/doslibmodule.o
  78.  
  79. #
  80. # Amiga additional stuff
  81. #
  82. AMIGASTUFF=
  83.  
  84. #
  85. # Link library configuration. Change to reflect correct math options etc.
  86. #
  87. CLIBS = $(MEMPOOLSLIB) $(AMITCPLIB) LIB:scm881.lib LIB:sc.lib
  88.  
  89. # Set link options to thy likes.
  90. # (compiler options can be changed using scopts)
  91. LINKOPTS = SC SD BATCH NOICONS 
  92.  
  93. COPTS = $(AMITCPDEF)
  94.  
  95. P_OBJECTS = $P/acceler.o  $P/grammar1.o \
  96.         $P/myreadline.o $P/node.o $P/parser.o $P/parsetok.o \
  97.         $P/tokenizer.o $P/intrcheck.o
  98. M_OBJECTS = $M/config.o $M/getpath.o $M/environment.o $M/amigamodule.o \
  99.         $M/regexpr.o $M/arraymodule.o $M/structmodule.o $M/stropmodule.o \
  100.         $M/mathmodule.o $M/regexmodule.o $M/newmodule.o $M/soundex.o \
  101.         $M/timemodule.o $M/binascii.o $M/md5module.o $M/md5c.o $M/rotormodule.o \
  102.     $M/urlopmodule.o $M/operator.o $M/cmathmodule.o $M/errnomodule.o \
  103.     $M/timingmodule.o
  104. Y_OBJECTS = $Y/modsupport.o $Y/pythonrun.o $Y/errors.o $Y/bltinmodule.o \
  105.     $Y/ceval.o $Y/compile.o $Y/frozen.o $Y/getargs.o \
  106.     $Y/getcompiler.o $Y/getcopyright.o $Y/getmtime.o \
  107.     $Y/getplatform.o $Y/graminit.o $Y/import.o \
  108.     $Y/importdl.o $Y/marshal.o $Y/structmember.o $Y/sysmodule.o \
  109.     $Y/traceback.o $Y/sigcheck.o $Y/hypot.o
  110. O_OBJECTS = $O/abstract.o $O/accessobject.o $O/fileobject.o $O/floatobject.o \
  111.         $O/funcobject.o $O/intobject.o $O/listobject.o $O/longobject.o \
  112.         $O/mappingobject.o $O/methodobject.o $O/moduleobject.o $O/object.o \
  113.         $O/rangeobject.o $O/stringobject.o $O/tupleobject.o $O/typeobject.o \
  114.         $O/classobject.o $O/frameobject.o $O/sliceobject.o $O/complexobject.o \
  115.     $O/cobject.o
  116.  
  117. #
  118. # The objects are combined into link libraries.
  119. # Somehow, this makes the resulting executable some 10 Kb smaller.
  120. #
  121. $P/parser.lib: $(P_OBJECTS)
  122.     -delete $P/parser.lib
  123.     oml $P/parser.lib a <@<
  124. $(P_OBJECTS)
  125. <
  126. $Y/python.lib: $(Y_OBJECTS)
  127.     -delete $Y/python.lib
  128.     oml $Y/python.lib a <@<
  129. $(Y_OBJECTS)
  130. <
  131. $M/modules.lib: $(M_OBJECTS)
  132.     -delete $M/modules.lib
  133.     oml $M/modules.lib a <@<
  134. $(M_OBJECTS)
  135. <
  136. $O/objects.lib: $(O_OBJECTS)
  137.     -delete $O/objects.lib
  138.     oml $O/objects.lib a <@<
  139. $(O_OBJECTS)
  140. <
  141.  
  142. LIBS = $P/parser.lib $Y/python.lib $M/modules.lib $O/objects.lib $(CLIBS)
  143.  
  144.  
  145. OBJECTS=$M/main.o $Y/getversion.o $(AMITCPOBJECTS) $(NEWMODULES) $(AMIGASTUFF)
  146.  
  147. Python882.GST: amiga/make_gst.c /include/config.h SCOPTIONS SMAKEFILE
  148.     -delete >NIL: Python882.GST
  149.     -GST >NIL: Python882.GST unload
  150.     -SC amiga/make_gst.c MKGST Python882.GST $(COPTS) NOOBJNAME
  151.     
  152. $(PROGRAM): Python882.GST $(OBJECTS) $(LIBS)
  153.     SC /Python/getversion.c NOMODIFIED $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) OBJNAME=Python/getversion.o
  154.     SLINK WITH <<
  155. TO $(PROGRAM)
  156. FROM $(STARTUP)
  157. $(OBJECTS)
  158. $(LINKOPTS)
  159. LIB $(LIBS)
  160. <<
  161. #    -delete >NIL: \#?.tmp 
  162.  
  163. link:
  164.     SLINK WITH <<
  165.     TO $(PROGRAM)
  166.     FROM $(STARTUP)
  167.     $(OBJECTS)
  168.     $(LINKOPTS)
  169.     LIB $(LIBS)
  170.     <<
  171.     -delete >NIL: \#?.tmp 
  172.     
  173. clean:
  174.     -delete $P/\#?.(o|lib) quiet
  175.     -delete $O/\#?.(o|lib) quiet
  176.     -delete $M/\#?.(o|lib) quiet
  177.     -delete $Y/\#?.(o|lib) quiet
  178.     -delete $(PROGRAM) \#?.tmp QUIET
  179.     -delete Python882.GST >NIL:
  180.  
  181. message:
  182.     @echo "*N****** BUILDING:   $(PROGRAM) *******N"
  183.  
  184. $P/acceler.o: $(PS)/acceler.c
  185. $P/bitset.o: $(PS)/bitset.c
  186. $P/firstsets.o: $(PS)/firstsets.c
  187. $P/grammar.o: $(PS)/grammar.c
  188. $P/grammar1.o: $(PS)/grammar1.c
  189. $P/listnode.o: $(PS)/listnode.c
  190. $P/myreadline.o: $(PS)/myreadline.c
  191. $P/node.o: $(PS)/node.c
  192. $P/parser.o: $(PS)/parser.c $(PS)/parser.h
  193. $P/parsetok.o: $(PS)/parsetok.c
  194. $P/tokenizer.o: $(PS)/tokenizer.c $(PS)/tokenizer.h
  195. $P/intrcheck.o: $(PS)/intrcheck.c
  196.  
  197. $M/arexxmodule.o: $(MS)/arexxmodule.c
  198. $M/doslibmodule.o: $(MS)/doslibmodule.c
  199. $M/amigamodule.o: $(MS)/amigamodule.c
  200. $M/arraymodule.o: $(MS)/arraymodule.c
  201. $M/binascii.o: $(MS)/binascii.c
  202. $M/environment.o: $(MS)/environment.c
  203. $M/getpath.o: $(MS)/getpath.c
  204. $M/main.o: $(MS)/main.c
  205. $M/mathmodule.o: $(MS)/mathmodule.c
  206. $M/md5c.o: $(MS)/md5c.c $(MS)/md5.h
  207. $M/md5module.o: $(MS)/md5module.c
  208. $M/newmodule.o: $(MS)/newmodule.c
  209. $M/pwdmodule.o: $(MS)/pwdmodule.c
  210. $M/cryptmodule.o: $(MS)/cryptmodule.c
  211. $M/grpmodule.o: $(MS)/grpmodule.c
  212. $M/syslogmodule.o: $(MS)/syslogmodule.c
  213. $M/socketmodule.o: $(MS)/socketmodule.c
  214. $M/selectmodule.o: $(MS)/selectmodule.c
  215. $M/regexmodule.o: $(MS)/regexmodule.c
  216. $M/regexpr.o: $(MS)/regexpr.c $(MS)/regexpr.h
  217. $M/signalmodule.o: $(MS)/signalmodule.c
  218. $M/stropmodule.o: $(MS)/stropmodule.c
  219. $M/structmodule.o: $(MS)/structmodule.c
  220. $M/timemodule.o: $(MS)/timemodule.c
  221. $M/config.o: $(MS)/config.c
  222. $M/soundex.o: $(MS)/soundex.c
  223. $M/rotormodule.o: $(MS)/rotormodule.c
  224. $M/urlopmodule.o: $(MS)/urlopmodule.c
  225. $M/operator.o: $(MS)/operator.c
  226. $M/cmathmodule.o: $(MS)/cmathmodule.c
  227. $M/errnomodule.o: $(MS)/errnomodule.c
  228. $M/timingmodule.o: $(MS)/timingmodule.c
  229.  
  230.  
  231. $Y/hypot.o: $(YS)/hypot.c
  232. $Y/bltinmodule.o: $(YS)/bltinmodule.c
  233. $Y/ceval.o: $(YS)/ceval.c
  234.     SC $(YS)/ceval.c $(COPTS) NOOPTGLOBAL DEFINE=MAX_RECURSION_DEPTH=1000 OBJNAME $@
  235. $Y/compile.o: $(YS)/compile.c
  236. $Y/errors.o: $(YS)/errors.c
  237. $Y/frozen.o: $(YS)/frozen.c
  238. $Y/fmod.o: $(YS)/fmod.c
  239. $Y/getargs.o: $(YS)/getargs.c
  240. $Y/getcompiler.o: $(YS)/getcompiler.c
  241.     SC $(YS)/getcompiler.c $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) $(COPTS) OBJNAME $@
  242. $Y/getcopyright.o: $(YS)/getcopyright.c
  243. $Y/getmtime.o: $(YS)/getmtime.c
  244. $Y/getopt.o: $(YS)/getopt.c
  245. $Y/getplatform.o: $(YS)/getplatform.c
  246. $Y/getversion.o: $(YS)/getversion.c
  247. $Y/graminit.o: $(YS)/graminit.c
  248. $Y/import.o: $(YS)/import.c
  249. $Y/importdl.o: $(YS)/importdl.c $(YS)/importdl.h
  250. $Y/marshal.o: $(YS)/marshal.c
  251. $Y/modsupport.o: $(YS)/modsupport.c
  252. $Y/mystrtoul.o: $(YS)/mystrtoul.c
  253. $Y/pythonrun.o: $(YS)/pythonrun.c
  254. $Y/structmember.o: $(YS)/structmember.c
  255. $Y/sysmodule.o: $(YS)/sysmodule.c
  256. $Y/traceback.o: $(YS)/traceback.c
  257. $Y/sigcheck.o: $(YS)/sigcheck.c
  258.     SC $(YS)/sigcheck.c $(COPTS) NOOPTINLINE OBJNAME $@
  259.  
  260. $O/abstract.o: $(OS)/abstract.c
  261. $O/accessobject.o: $(OS)/accessobject.c
  262. $O/classobject.o: $(OS)/classobject.c
  263. $O/fileobject.o: $(OS)/fileobject.c
  264. $O/floatobject.o: $(OS)/floatobject.c
  265. $O/frameobject.o: $(OS)/frameobject.c
  266. $O/funcobject.o: $(OS)/funcobject.c
  267. $O/intobject.o: $(OS)/intobject.c
  268. $O/listobject.o: $(OS)/listobject.c
  269. $O/longobject.o: $(OS)/longobject.c
  270.     SC $(OS)/longobject.c $(COPTS) NOGST OBJNAME $@ ; DOESN'T COMPILE WITH GST
  271. $O/mappingobject.o: $(OS)/mappingobject.c
  272. $O/methodobject.o: $(OS)/methodobject.c
  273. $O/moduleobject.o: $(OS)/moduleobject.c
  274. $O/object.o: $(OS)/object.c
  275. $O/rangeobject.o: $(OS)/rangeobject.c
  276. $O/stringobject.o: $(OS)/stringobject.c
  277. $O/sliceobject.o: $(OS)/sliceobject.c
  278. $O/tupleobject.o: $(OS)/tupleobject.c
  279. $O/typeobject.o: $(OS)/typeobject.c
  280. $O/complexobject.o: $(OS)/complexobject.c
  281. $O/cobject.o: $(OS)/cobject.c
  282.  
  283.  
  284.  
  285. $(AMITCPLIB):
  286.     execute <<
  287. cd Amiga/python_netlib
  288. smake python_net.lib
  289. rename python_net.lib /
  290. <<
  291.  
  292.